﻿using System.Collections.Generic;
using System.Threading.Tasks;

namespace SensorDrone.Net
{
    /// <summary>
    /// interface to get a list of drones
    /// </summary>
    public interface ISensorDroneProvider
    {
        /// <summary>
        /// Scan for all paired drones asynchrounously
        /// <example>
        /// var provider = new SensorDroneProvider();
        ///  var drones = await provider.ScanAsync();
        /// </example>
        /// </summary>
        /// <returns>A set of drones</returns>
        Task<IEnumerable<ISensorDrone>> ScanAsync();
        /// <summary>
        /// Cancel the scan
        /// </summary>
        void Stop();
    }
}